ذخیره اطلاعات از Excel به sql
با سلام
دوستان عزیز من یه پروژه با AspCore3 نوشتم که یه قسمت دریافت اطلاعات از طریق Excel و ذخیره در دیتابیس هست . خیلی گشتم مثال خوبی پیدا نشد . اگر دوستان نمونه کد کاملی اگه دارن ممنون میشم کمک کنید .
پاسخ هوش مصنوعی
برای ذخیره اطلاعات از یک فایل Excel به یک پایگاه داده SQL در ASP.NET Core، شما می توانید از کتابخانه هایی مانند EPPlus برای خواندن داده ها از فایل Excel و Entity Framework Core برای ذخیره سازی داده ها در دیتابیس استفاده کنید.
در ابتدا، اطمینان حاصل کنید که کتابخانه های مورد نیاز را به پروژه تان اضافه کرده اید. می توانید به راحتی از NuGet Package Manager استفاده کنید:
Install-Package EPPlus
Install-Package Microsoft.EntityFrameworkCore.SqlServer
سپس یک مدل برای داده های خودتان ایجاد کنید. به عنوان مثال، فرض کنید که می خواهید اطلاعات دانشجویان را ذخیره کنید:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Email { get; set; }
}
سپس یک DbContext برای ارتباط با پایگاه داده ایجاد کنید:
public class ApplicationDbContext : DbContext
{
public DbSet Students { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("ConnectionStringYourDatabase");
}
}
در مرحله بعد، شما به یک متد برای خواندن فایل Excel نیاز دارید:
public async Task ImportExcel(IFormFile file)
{
using (var stream = new MemoryStream())
{
await file.CopyToAsync(stream);
using (var package = new ExcelPackage(stream))
{
var workSheet = package.Workbook.Worksheets[0];
var rowCount = workSheet.Dimension.Rows;
using (var context = new ApplicationDbContext())
{
for (int row = 2; row <= rowCount; row++) // آغاز از ردیف دوم به دلیل عنوان ها
{
var student = new Student
{
Name = workSheet.Cells[row, 1].Text,
Age = int.Parse(workSheet.Cells[row, 2].Text),
Email = workSheet.Cells[row, 3].Text
};
context.Students.Add(student);
}
await context.SaveChangesAsync();
}
}
}
}
در نهایت، می توانید این متد را در کنترلر خود فراخوانی کنید، مثلاً:
[HttpPost]
public async Task UploadExcel(IFormFile file)
{
if (file != null && file.Length > 0)
{
await ImportExcel(file);
return RedirectToAction("Index"); // به صفحه ی مناسب هدایت می کند
}
return View();
}
این یک پیاده سازی ساده است و ممکن است بر اساس نیازهای خاص شما نیاز به تغییرات بیشتری داشته باشد. همچنین به امنیت، مدیریت خطا و اعتبارسنجی داده ها نیز توجه کنید.
روشهای متفاوتی وجود داره . این لینک خیلی بهت کمک میکنه .
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2